Reducing power consumption in mobile electronic devices, such as, for example, cell phones, personal digital assistants (PDAs), media players, and/or other handheld or mobile devices, has been a long-standing design consideration in the mobile electronics industry. It is important to consumers that these battery-powered devices can be used for long durations between recharge cycles. At the same time, however, consumers require that these devices provide a broad range of applications, such as Internet capability, audio-video playback, camera capability, GPS capability, etc.
Thus, it is important that these devices be optimized for both power consumption and performance. For example, the devices may be equipped with software having power-saving modes and/or with power-efficient microprocessors and other system components. In addition, the microprocessors may be run at the minimum clock speeds required to support the computing demands of the systems. As a result, throughput or bandwidth on the system buses may be scarce, and the systems may be designed such that devices on the buses are allocated only a certain portion of the available throughput.
In the case of the displays, such as liquid crystal displays (LCDs) and the like, the allocated throughput may be insufficient under some circumstances. For example, a display is typically assigned a refresh rate of about 50 Hz; that is, a new image or frame is displayed 50 times each second. An associated display controller on the system bus must fetch from memory enough data to satisfy the refresh rate. The display controller, however, typically has a lower priority on the bus than the microprocessor. Thus, in situations where the throughput of the system bus is insufficient to meet the demands of both the microprocessor and the display controller, the microprocessor is given priority.
Such situations can lead display “under-run,” or “starving.” In particular, if the display controller is unable to fetch from memory enough data to sustain the refresh rate (e.g., 50 Hz), blank and/or corrupt frames may be displayed between valid frames, which can be detected by the human eye. This phenomenon, known as “flicker,” is unattractive to consumers in the mobile and/or handheld electronics market who demand superior display performance.